Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Лабораторна робота №1 Програмування, ч3

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2017
Тип роботи:
Лабораторна робота
Предмет:
Програмування алгоритмів цифрової обробки сигналів та зображень

Частина тексту файла

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра ЕОМ / Звіт про виконання лабораторної роботи №1 з дисципліни: “Програмування, частина 3 (Структури даних та алгоритми)” на тему:“ Внутрішнє представлення в пам’яті комп’ютера статичних даних ” Мета: дослідження внутрішнього представлення в пам’яті комп’ютера даних статичної структури. Постановка задачі Дослідити внутрішнє представлення в пам’яті комп’ютера даних статичної структури. Змінні, які потрібно проаналізувати : bool b = (7*5) % 10 * 8 = 28; signed char ch3 = ‘ n ’; long i6 = 7*352 = -2464; long double d2 = Z . X e + Y; d2 = 56.7e + 8; де X = 7, Y = 8; //(дата народження 07.08.1999) Система тестів 1) bool b = (7*5) % 10 * 8=28; Тип bool - логічний тип даних і у пам’яті комп’ютера він представляється одним байтом. Має два стани true або false. В даному випадку він буде мати значення true, так як цьому значенню відповідає значення змінної відмінне від нуля. Внутрішнє представлення змінної bool b в основній пам'яті: 01 2) signed char ch3 = ‘n’; Тип signed char - символьний тип даних, який дозволяє представляти символи у кодуванні за ASCII таблицею. В даному випадку це код символа ‘n’. Розмір змінної signed char ch3 1 байт Внутрішнє представлення змінної unsigned char ch3 в основній пам'яті: 6E 3) long i6 = 7*352= -2464 long – це знаковий чотирьохбайтовий тип даних, в якому значення зберігається у доповняльному коді. -246410 = - 1001 1010 00002 = -9А016; - в прямому коді в доповняльному -246410 = FF FF FF FF FF FF F6 60; Внутрішнє представлення змінної long i6 в пам'яті комп'ютера: 60 F6 FF FF FF FF FF FF 4)long double d2 = 56.7e + 8 = 56.7 * 108 = 5670000000; Переведемо число у 16 та 2 СЧ: 567000000010 = 151F5558016 ; 151F5558016 = 1 0101 0001 1111 0101 0101 0101 1000 00002; Необхідно визначити значення m (мантиса), s(знак) та e(експонента). s = 0, бо число додатне. Доповнимо число нулем: 1 0101 0001 1111 0101 0101 0101 1000 0000,02 Нормалізуємо число: 1, 1010 0011 1110 1010 1010 1011 0000 00002 * 10100000 Тип double займає ВПК 8 байт (64 біт) З них 11 біт виділяється під експоненту, 1 біт під знак числа і решта 52 під мантису. Знайдемо експоненту е = 102310 + 3210 = 105510 = 41F16 = 100 0001 1111 Зборка за схемою: 1біт 11 біт 52 біта  s e m  0 100 0001 1111 0101 0001 1111 0101 0101 0101 1000 0000 0000 0000 0000 0000 0000   100 0001 1111 0101 0001 1111 0101 0101 0101 1000 0000 0000 0000 0000 0000 00002 = 41F51F555800000016 Тепер для отримання значення числа ВПК, необхідно обернути його побайтно, бо ВПК числа типу double зберігаються у зворотньому порядку розміщення байт числа. Отже, ВПК (d2) – 00 00 00 58 55 1F F5 4116 Спеціфікація програми #include <iostream> #include<iomanip> using namespace std; int main() { bool b = 28; signed char ch3 = 'n'; long i6 = -2464; double d2 = 56.7e+8; unsigned char *vx = (unsigned char *)(&b); printf("Внутрiшнє придставлення змiнної b(bool): "); for (int i = 0;i<sizeof(b);i++) { printf("%02X ", vx[i]); } printf("\n"); vx = (unsigned char *)(&ch3); printf("Внутрiшнє придставлення змiнної ch3(signed char): "); for (int i = 0;i<sizeof(ch3);i++) { printf("%02X ", vx[i]); } printf("\n"); vx = (unsigned char *)(&i6); printf("Внутрiшнє придставлення змiнної i6(long): "); for (int i = 0;i<sizeof(i6);i++) { printf("%02X ", vx[i]); } printf("\n"); vx = (unsigned char *)(&d2); printf("Внутрiшнє придставлення змiнної d2(long double): "); for (int i = 0;i<sizeof(d2);i++) { printf("%02X ", vx[i]); } printf("\n"); return 0; } Результати виконання програми / Висновок: на даній лаборораторній роботі я дослідив внутрішнє представлення в пам’яті комп’ютера даних статичної структури.
Антиботан аватар за замовчуванням

28.05.2019 17:05

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини